package com.sprouting.ops.dao;

import com.sprouting.ops.interfaces.BaseDaoMapper;
import com.sprouting.ops.model.OpsIp;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * IP仓库
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2023/11/8 18:16
 */
public interface OpsIpDao extends BaseDaoMapper<OpsIp> {

    /**
     * 检查Ip是否使用，传id则忽略
     * @param id 主键，传则忽略
     * @param computerServerId 计算机id，必传
     * @param ip ip地址
     * @return
     */
    OpsIp getByIpFilter(@Param("id") String id, @Param("computerServerId") String computerServerId, @Param("ip") String ip);

    /**
     * 检查是否有多个主Ip，根据机器查询
     * @param computerServerId 计算机id
     * @param id 主键，传则忽略，非必填
     * @return
     */
    OpsIp getByMainFilterId(@Param("computerServerId") String computerServerId, @Param("id") String id);

    /**
     * 获取机器的Ip信息，不分页。这数据不会很多，直接查询出来
     * @param computerServerId 机器ip
     * @return
     */
    List<OpsIp> getByComputerServerId(String computerServerId);

}
